package com.yunyao.dao.model;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 合同预收款信息
 * </p>
 *
 * @author xingjishuai
 * @since 2024-07-02
 */
@Getter
@Setter
@TableName("bamu_payment_contract_prepayment")
public class BamuPaymentContractPrepayment {

    /**
     * 主键ID
     */
    private String id;

    /**
     * 合同ID
     */
    private String contractId;

    /**
     * 收款时间
     */
    private Date receiveDate;

    /**
     * 收款金额
     */
    private BigDecimal receivePrice;

    /**
     * 发票号码
     */
    private String invoiceNo;

    /**
     * 发票代码
     */
    private String invoiceCode;

    /**
     * 开票状态 1已关联 0未关联
     */
    private String invoiceStatus;

    /**
     * 发票ID
     */
    private String invoiceId;

    /**
     * 收票ID
     */
    private String receiveId;

    /**
     * 状态
     */
    @TableField("`status`")
    private Integer status;

    /**
     * 删除标识
     */
    private Integer isDeleted;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建部门
     */
    private String createDept;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 修改人
     */
    private String updatedBy;

    /**
     * 修改时间
     */
    private Date updatedAt;

    /**
     * 租户ID
     */
    @TableField(value = "tenant_id", fill = FieldFill.INSERT)
    private String tenantId;

    /**
     * 流程状态
     */
    private String auditStatus;

    /**
     * 流程实例ID
     */
    private String processInstanceId;

    /**
     * 流程设计模板信息ID
     */
    private String modelSchemeInfoId;

    /**
     * 流程部署ID
     */
    private String deploymentId;

    /**
     * 流程版本
     */
    private String processVersion;

    /**
     * 已付金额
     */
    private BigDecimal paymentPrice;

    /**
     * 关联预收款id
     */
    private String receiveContractPrepaymentId;

    /**
     * 关联收款时间
     */
    private Date relatedReceiveDate;

    /**
     * 关联收款方式
     */
    private String relatedReceiveType;

    /**
     * 关联收款金额
     */
    private BigDecimal relatedReceiveAmount;

    /**
     * 已关联发票金额
     */
    private BigDecimal relatedAmount;

    /**
     * 关联发票状态（1 未关联，2 部分关联，3 已关联）
     */
    private String relatedStatus;
}
